import argparse
from xmlrpc.client import Boolean

parser = argparse.ArgumentParser(description='Time-Series Anomaly Detection')
parser.add_argument('--dataset', 
					metavar='-d', 
					type=str, 
					required=False,
					default='point_global',
                    help="dataset"),
parser.add_argument('--file', 
					metavar='-f', 
					type=str, 
					required=False,
					default=None,
                    help="dataset")
parser.add_argument('--model', 
					metavar='-m', 
					type=str, 
					required=False,
					default='Autoencoder_Diffusion',
                    help="model name"),
parser.add_argument('--training', 
					metavar='-t', 
					type=str, 
					required=False,
					default='both',
                    help="model to train"),
parser.add_argument('--anomaly_score', 
					metavar='-t', 
					type=str, 
					required=False,
					default=None,
                    help="anomaly score"),
parser.add_argument('--lr', 
					metavar='-lr', 
					type=str, 
					required=False,
					default='1e-4',
                    help="lerning rate"),
parser.add_argument('--window_size', 
					metavar='-ws', 
					type=str, 
					required=False,
					default='10',
                    help="window size"),
parser.add_argument('--p1', 
					metavar='-p1', 
					type=float, 
					required=False,
					default='1',
                    help="p1"),
parser.add_argument('--p2', 
					metavar='-p2', 
					type=float, 
					required=False,
					default='1',
                    help="p2"),
parser.add_argument('--k', 
					metavar='-k', 
					type=int, 
					required=False,
					default='1',
                    help="number of diff samples"),					
parser.add_argument('--v', 
					metavar='-v', 
					type=bool, 
					required=False,
					default=False,
                    help="verbose"),
# parser.add_argument('--test_only', 
# 					metavar='-t', 
# 					type=bool, 
# 					required=False,
# 					default=False,
#                     help="test_only"),
parser.add_argument('--batch_size', 
					metavar='-t', 
					type=int, 
					required=False,
					default=128,
                    help="batch_size"),
parser.add_argument('--diff_lambda', 
					metavar='-t', 
					type=float, 
					required=False,
					default=0.1,
                    help="diff_lambda"),
parser.add_argument('--noise_steps', 
					metavar='-t', 
					type=int, 
					required=False,
					default=100,
                    help="noise_steps"),
parser.add_argument('--denoise_steps', 
					metavar='-t', 
					type=int, 
					required=False,
					default=10,
                    help="denoise_steps"),
parser.add_argument('--group', 
					metavar='-t', 
					type=str, 
					required=False,
					default='search_smd',
                    help="wandb group"),
parser.add_argument('--test_only', 
					metavar='-t', 
					type=bool, 
					required=False,
					default=False,
                    help="train new model or not"),
parser.add_argument('--id', 
					metavar='-t', 
					type=int, 
					required=False,
					default=0,
                    help="experiment id for multiple runs"),
parser.add_argument('--get_thresh', 
					metavar='-t', 
					type=bool, 
					required=False,
					default=False,
                    help="get val thresh again because forgot!"),
args = parser.parse_args()